From: Florian Müllner Date: Wed, 9 Feb 2022 19:26:26 +0000 (+0100) Subject: status/location: Use correct enabled state X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~530^2^2~72 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=5628849a405e42410cb19adb2bd9f92f7b88d8e6;p=gnome-shell.git status/location: Use correct enabled state Commit e3a1d84992 split out the agent from the indicator, but kept using a local 'enabled' property with no connection at all to the actual state. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5043 Part-of: --- diff --git a/js/ui/status/location.js b/js/ui/status/location.js index 7e0222b72..547c8347a 100644 --- a/js/ui/status/location.js +++ b/js/ui/status/location.js @@ -232,7 +232,8 @@ class Indicator extends PanelMenu.SystemIndicator { GObject.BindingFlags.SYNC_CREATE); this._item.label.text = _('Location Enabled'); - this._onOffAction = this._item.menu.addAction(_('Disable'), this._onOnOffAction.bind(this)); + this._onOffAction = this._item.menu.addAction(_('Disable'), + () => (this._agent.enabled = !this._agent.enabled)); this._item.menu.addSettingsAction(_('Privacy Settings'), 'gnome-location-panel.desktop'); this.menu.addMenuItem(this._item); @@ -251,17 +252,13 @@ class Indicator extends PanelMenu.SystemIndicator { this._agent.disconnect(this._maxAccuracyId); } - _onOnOffAction() { - this.enabled = !this.enabled; - } - _onSessionUpdated() { let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter; this.menu.setSensitive(sensitive); } _updateMenuLabels() { - if (this.enabled) { + if (this._agent.enabled) { this._item.label.text = this._indicator.visible ? _('Location In Use') : _('Location Enabled');